#include<iostream>
#include<vector>
using namespace std;

vector<int> path;
int n,k;
bool arr[12];
void dfs(int m)
{
	if(path.size()==(size_t)k)
	{
		for(auto&e:path)
		{
			cout<<e<<" ";
		}
		cout<<endl;
		return;
	}
	if(m>n)
	{
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(!arr[i])
		{
			path.push_back(i);
			arr[i]=true;
			dfs(m+1);
			path.pop_back();
			arr[i]=false;
		}
	}
}
int main()
{
	cin>>n>>k;
	dfs(1);
}